package com.ruoyi.config.pdf.common;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * @author yjc
 * @create 2023-04-12 20:35
 */
@Data
public class Template {
    /**
     * 标题
     */
    private String title;
    private List<String> oneTempList = new ArrayList<>();
    private List<String> twoTempList = new ArrayList<>();
    private String threeTemp;
    private List<String> fourTempList = new ArrayList<>();
    private List<String> headTableList = new ArrayList<>();
    /**
     * 列数以及单元格宽度(以50F为一个标准单位)
     * 集合长度为列数
     * 集合值为单元格宽度
     */
    private List<Integer> cellList;

    /**
     * 九江市安全生产考试申请汇总表（安全管理人员）
     * 模板1
     */
    public void template1() {
        template1And4("九江市安全生产考试申请汇总表（安全管理人员）", "安全资格类型");
    }

    /**
     * 九江市安全生产考试申请汇总表（特作）
     * 模板4
     */
    public void template4() {
        template1And4("九江市安全生产考试申请汇总表（特作）", "操作项目");
    }

    /**
     * 九江市安全生产考试申请汇总表（通用模板1、4）
     */
    private void template1And4(String s, String replace) {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();

        //标题
        title = s;

        //基本信息第一行
        oneTempList.add("申报单位（盖章）：");
        oneTempList.add("培训班期次：");

        //基本信息第二行
        twoTempList.add("单位负责人（签字）：");
        twoTempList.add("单位经办人（签字）：");
        twoTempList.add("申办人数：");
        twoTempList.add("报送日期：");

        //最终信息类型
        threeTemp = "考试机构意见";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add(replace);
        headTableList.add("培训是否合格");
        headTableList.add("申请材料项数");
        headTableList.add("考生是否委托培训机构代办");

        //最终信息下半部分
        fourTempList.add("审核人：\n（签字）");
        fourTempList.add("审批人：\n（签字）");
        fourTempList.add("考试机构：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(2);
        cellList.add(1);
        cellList.add(1);
        cellList.add(1);
    }

    /**
     * 九江市安全培训合格证明表（安全管理人员）
     * 模板2
     */
    public void template2() {
        template2And3("九江市安全培训合格证明表（安全管理人员）", "安全资格类型");
    }

    /**
     * 九江市安全培训合格证明表（特作）
     * 模板3
     */
    public void template3() {
        template2And3("九江市安全培训合格证明表（特作）", "操作项目");
    }

    /**
     * 九江市安全培训合格证明表（通用模板2、3）
     *
     * @param s
     * @param replace
     */
    private void template2And3(String s, String replace) {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();


        //标题
        title = s;

        //基本信息第一行
        oneTempList.add("培训班通知文号：");

        //基本信息第二行
        twoTempList.add("培训班期次：");
        twoTempList.add("起止日期：");

        //最终信息类型
        threeTemp = "培训机构证明事项";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add(replace);
        headTableList.add("课时");
        headTableList.add("培训结论");

        //最终信息下半部分
        fourTempList.add("经办人：\n（签字）");
        fourTempList.add("负责人：\n（签字）");
        fourTempList.add("培训机构：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(3);
        cellList.add(1);
        cellList.add(2);
    }


    /**
     * 九江市《安全生产知识和管理能力考核合格证》办证申请表（安全管理人员）
     * 模板5
     */
    public void template5() {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();
        //标题
        title = "九江市《安全生产知识和管理能力考核合格证》办证申请表";

        //基本信息第一行
        oneTempList.add("申报单位（盖章）：");
        oneTempList.add("培训班期次：");

        //基本信息第二行
        twoTempList.add("单位负责人（签字）：");
        twoTempList.add("单位经办人（签字）：");
        twoTempList.add("申办人数：");
        twoTempList.add("报送日期：");

        //最终信息类型
        threeTemp = "发证机关意见";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add("安全资格类型");
        headTableList.add("理论");
        headTableList.add("签领");

        //最终信息下半部分
        fourTempList.add("审核人：\n（签字）");
        fourTempList.add("审批人：\n（签字）");
        fourTempList.add("发证机关：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(3);
        cellList.add(1);
        cellList.add(2);
    }

    /**
     * 九江市《特种作业操作证》办证申请表（特作）
     * 模板6
     */
    public void template6() {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();
        //标题
        title = "九江市《特种作业操作证》办证申请表";

        //基本信息第一行
        oneTempList.add("申报单位（盖章）：");
        oneTempList.add("培训班期次：");

        //基本信息第二行
        twoTempList.add("单位负责人（签字）：");
        twoTempList.add("单位经办人（签字）：");
        twoTempList.add("申办人数：");
        twoTempList.add("报送日期：");

        //最终信息类型
        threeTemp = "发证机关意见";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add("操作项目");
        headTableList.add("理论");
        headTableList.add("实操");
        headTableList.add("签领");

        //最终信息下半部分
        fourTempList.add("审核人：\n（签字）");
        fourTempList.add("审批人：\n（签字）");
        fourTempList.add("发证机关：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(3);
        cellList.add(1);
        cellList.add(2);
        cellList.add(2);
    }


    /**
     * 九江市安全生产知识和管理能力考试合格证明表（安全管理人员）
     * 模板7
     */
    public void template7() {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();


        //标题
        title = "九江市安全生产知识和管理能力考试合格证明表";

        //基本信息第一行
        oneTempList.add("编号：");

        //基本信息第二行
        twoTempList.add("培训考试期次：");
        twoTempList.add("考试日期：");

        //最终信息类型
        threeTemp = "考试机构意见";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add("安全资格类型");
        headTableList.add("理论");
        headTableList.add("考试结论");

        //最终信息下半部分
        fourTempList.add("经办人：\n（签字）");
        fourTempList.add("负责人：\n（签字）");
        fourTempList.add("考试机构：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(3);
        cellList.add(1);
        cellList.add(2);
    }

    /**
     * 九江市特种作业考试合格证明表（特作）
     * 模板8
     */
    public void template8() {
        //置空
        oneTempList.clear();
        twoTempList.clear();
        fourTempList.clear();
        headTableList.clear();


        //标题
        title = "九江市特种作业考试合格证明表";

        //基本信息第一行
        oneTempList.add("编号：");

        //基本信息第二行
        twoTempList.add("培训考试期次：");
        twoTempList.add("考试日期：");

        //最终信息类型
        threeTemp = "考试机构意见";

        //表头部分
        headTableList.add("序号");
        headTableList.add("身份证号");
        headTableList.add("姓名");
        headTableList.add("工作单位");
        headTableList.add("联系电话");
        headTableList.add("操作项目");
        headTableList.add("理论");
        headTableList.add("实操");
        headTableList.add("考试结论");

        //最终信息下半部分
        fourTempList.add("经办人：\n（签字）");
        fourTempList.add("负责人：\n（签字）");
        fourTempList.add("考试机构：\n（盖章）");

        cellList = new ArrayList<>();
        cellList.add(1);
        cellList.add(4);
        cellList.add(2);
        cellList.add(6);
        cellList.add(2);
        cellList.add(3);
        cellList.add(1);
        cellList.add(1);
        cellList.add(2);

    }



}
